export interface CaseComponent {
  demo: any;
  codePath: string;
  demoTitle: string;
  demoTitle_en?: string;
  demoDescription?: string;
  demoDescription_en?: string;
  devDebug?: boolean;
  [key: string]: any;
}

export interface Api {
  attribute: string;
  type: string;
  default?: string;
  description?: string;
  description_en?: string;
  [key: string]: any;
}

export interface Event {
  event: string;
  parameter: string;
  description?: string;
  description_en?: string;
}

export interface Mapi {
  name?: string;
  name_en?: string;
  api?: Array<Api>;
  event?: Array<Event>;
  global?: boolean;
  isAttr?: boolean;
  selector?: string;
  snippet?: string;
  [key: string]: any;
}

export type CaseConfigType = {
  location: string; // 名称
  description?: string; // 描述
  description_en?: string;
  component?: Array<CaseComponent>;
  selector?: string;
  snippet?: string;
  api?: Array<Api>;
  event?: Array<Event>;
  mApi?: Array<Mapi>;
  [key: string]: any;
};
